package property.pojo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class StaffExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public StaffExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andSIdIsNull() {
            addCriterion("s_id is null");
            return (Criteria) this;
        }

        public Criteria andSIdIsNotNull() {
            addCriterion("s_id is not null");
            return (Criteria) this;
        }

        public Criteria andSIdEqualTo(Integer value) {
            addCriterion("s_id =", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdNotEqualTo(Integer value) {
            addCriterion("s_id <>", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdGreaterThan(Integer value) {
            addCriterion("s_id >", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("s_id >=", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdLessThan(Integer value) {
            addCriterion("s_id <", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdLessThanOrEqualTo(Integer value) {
            addCriterion("s_id <=", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdIn(List<Integer> values) {
            addCriterion("s_id in", values, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdNotIn(List<Integer> values) {
            addCriterion("s_id not in", values, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdBetween(Integer value1, Integer value2) {
            addCriterion("s_id between", value1, value2, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdNotBetween(Integer value1, Integer value2) {
            addCriterion("s_id not between", value1, value2, "sId");
            return (Criteria) this;
        }

        public Criteria andSNameIsNull() {
            addCriterion("s_name is null");
            return (Criteria) this;
        }

        public Criteria andSNameIsNotNull() {
            addCriterion("s_name is not null");
            return (Criteria) this;
        }

        public Criteria andSNameEqualTo(String value) {
            addCriterion("s_name =", value, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameNotEqualTo(String value) {
            addCriterion("s_name <>", value, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameGreaterThan(String value) {
            addCriterion("s_name >", value, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameGreaterThanOrEqualTo(String value) {
            addCriterion("s_name >=", value, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameLessThan(String value) {
            addCriterion("s_name <", value, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameLessThanOrEqualTo(String value) {
            addCriterion("s_name <=", value, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameLike(String value) {
            addCriterion("s_name like", value, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameNotLike(String value) {
            addCriterion("s_name not like", value, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameIn(List<String> values) {
            addCriterion("s_name in", values, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameNotIn(List<String> values) {
            addCriterion("s_name not in", values, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameBetween(String value1, String value2) {
            addCriterion("s_name between", value1, value2, "sName");
            return (Criteria) this;
        }

        public Criteria andSNameNotBetween(String value1, String value2) {
            addCriterion("s_name not between", value1, value2, "sName");
            return (Criteria) this;
        }

        public Criteria andSUsernameIsNull() {
            addCriterion("s_username is null");
            return (Criteria) this;
        }

        public Criteria andSUsernameIsNotNull() {
            addCriterion("s_username is not null");
            return (Criteria) this;
        }

        public Criteria andSUsernameEqualTo(String value) {
            addCriterion("s_username =", value, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameNotEqualTo(String value) {
            addCriterion("s_username <>", value, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameGreaterThan(String value) {
            addCriterion("s_username >", value, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("s_username >=", value, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameLessThan(String value) {
            addCriterion("s_username <", value, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameLessThanOrEqualTo(String value) {
            addCriterion("s_username <=", value, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameLike(String value) {
            addCriterion("s_username like", value, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameNotLike(String value) {
            addCriterion("s_username not like", value, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameIn(List<String> values) {
            addCriterion("s_username in", values, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameNotIn(List<String> values) {
            addCriterion("s_username not in", values, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameBetween(String value1, String value2) {
            addCriterion("s_username between", value1, value2, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSUsernameNotBetween(String value1, String value2) {
            addCriterion("s_username not between", value1, value2, "sUsername");
            return (Criteria) this;
        }

        public Criteria andSPasswordIsNull() {
            addCriterion("s_password is null");
            return (Criteria) this;
        }

        public Criteria andSPasswordIsNotNull() {
            addCriterion("s_password is not null");
            return (Criteria) this;
        }

        public Criteria andSPasswordEqualTo(String value) {
            addCriterion("s_password =", value, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordNotEqualTo(String value) {
            addCriterion("s_password <>", value, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordGreaterThan(String value) {
            addCriterion("s_password >", value, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("s_password >=", value, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordLessThan(String value) {
            addCriterion("s_password <", value, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordLessThanOrEqualTo(String value) {
            addCriterion("s_password <=", value, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordLike(String value) {
            addCriterion("s_password like", value, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordNotLike(String value) {
            addCriterion("s_password not like", value, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordIn(List<String> values) {
            addCriterion("s_password in", values, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordNotIn(List<String> values) {
            addCriterion("s_password not in", values, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordBetween(String value1, String value2) {
            addCriterion("s_password between", value1, value2, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSPasswordNotBetween(String value1, String value2) {
            addCriterion("s_password not between", value1, value2, "sPassword");
            return (Criteria) this;
        }

        public Criteria andSGenderIsNull() {
            addCriterion("s_gender is null");
            return (Criteria) this;
        }

        public Criteria andSGenderIsNotNull() {
            addCriterion("s_gender is not null");
            return (Criteria) this;
        }

        public Criteria andSGenderEqualTo(String value) {
            addCriterion("s_gender =", value, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderNotEqualTo(String value) {
            addCriterion("s_gender <>", value, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderGreaterThan(String value) {
            addCriterion("s_gender >", value, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderGreaterThanOrEqualTo(String value) {
            addCriterion("s_gender >=", value, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderLessThan(String value) {
            addCriterion("s_gender <", value, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderLessThanOrEqualTo(String value) {
            addCriterion("s_gender <=", value, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderLike(String value) {
            addCriterion("s_gender like", value, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderNotLike(String value) {
            addCriterion("s_gender not like", value, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderIn(List<String> values) {
            addCriterion("s_gender in", values, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderNotIn(List<String> values) {
            addCriterion("s_gender not in", values, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderBetween(String value1, String value2) {
            addCriterion("s_gender between", value1, value2, "sGender");
            return (Criteria) this;
        }

        public Criteria andSGenderNotBetween(String value1, String value2) {
            addCriterion("s_gender not between", value1, value2, "sGender");
            return (Criteria) this;
        }

        public Criteria andSBirthdateIsNull() {
            addCriterion("s_birthdate is null");
            return (Criteria) this;
        }

        public Criteria andSBirthdateIsNotNull() {
            addCriterion("s_birthdate is not null");
            return (Criteria) this;
        }

        public Criteria andSBirthdateEqualTo(Date value) {
            addCriterionForJDBCDate("s_birthdate =", value, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateNotEqualTo(Date value) {
            addCriterionForJDBCDate("s_birthdate <>", value, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateGreaterThan(Date value) {
            addCriterionForJDBCDate("s_birthdate >", value, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("s_birthdate >=", value, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateLessThan(Date value) {
            addCriterionForJDBCDate("s_birthdate <", value, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("s_birthdate <=", value, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateIn(List<Date> values) {
            addCriterionForJDBCDate("s_birthdate in", values, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateNotIn(List<Date> values) {
            addCriterionForJDBCDate("s_birthdate not in", values, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("s_birthdate between", value1, value2, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSBirthdateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("s_birthdate not between", value1, value2, "sBirthdate");
            return (Criteria) this;
        }

        public Criteria andSPhoneIsNull() {
            addCriterion("s_phone is null");
            return (Criteria) this;
        }

        public Criteria andSPhoneIsNotNull() {
            addCriterion("s_phone is not null");
            return (Criteria) this;
        }

        public Criteria andSPhoneEqualTo(String value) {
            addCriterion("s_phone =", value, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneNotEqualTo(String value) {
            addCriterion("s_phone <>", value, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneGreaterThan(String value) {
            addCriterion("s_phone >", value, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("s_phone >=", value, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneLessThan(String value) {
            addCriterion("s_phone <", value, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneLessThanOrEqualTo(String value) {
            addCriterion("s_phone <=", value, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneLike(String value) {
            addCriterion("s_phone like", value, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneNotLike(String value) {
            addCriterion("s_phone not like", value, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneIn(List<String> values) {
            addCriterion("s_phone in", values, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneNotIn(List<String> values) {
            addCriterion("s_phone not in", values, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneBetween(String value1, String value2) {
            addCriterion("s_phone between", value1, value2, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSPhoneNotBetween(String value1, String value2) {
            addCriterion("s_phone not between", value1, value2, "sPhone");
            return (Criteria) this;
        }

        public Criteria andSEmailIsNull() {
            addCriterion("s_email is null");
            return (Criteria) this;
        }

        public Criteria andSEmailIsNotNull() {
            addCriterion("s_email is not null");
            return (Criteria) this;
        }

        public Criteria andSEmailEqualTo(String value) {
            addCriterion("s_email =", value, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailNotEqualTo(String value) {
            addCriterion("s_email <>", value, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailGreaterThan(String value) {
            addCriterion("s_email >", value, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailGreaterThanOrEqualTo(String value) {
            addCriterion("s_email >=", value, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailLessThan(String value) {
            addCriterion("s_email <", value, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailLessThanOrEqualTo(String value) {
            addCriterion("s_email <=", value, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailLike(String value) {
            addCriterion("s_email like", value, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailNotLike(String value) {
            addCriterion("s_email not like", value, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailIn(List<String> values) {
            addCriterion("s_email in", values, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailNotIn(List<String> values) {
            addCriterion("s_email not in", values, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailBetween(String value1, String value2) {
            addCriterion("s_email between", value1, value2, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSEmailNotBetween(String value1, String value2) {
            addCriterion("s_email not between", value1, value2, "sEmail");
            return (Criteria) this;
        }

        public Criteria andSIdCardIsNull() {
            addCriterion("s_ID_Card is null");
            return (Criteria) this;
        }

        public Criteria andSIdCardIsNotNull() {
            addCriterion("s_ID_Card is not null");
            return (Criteria) this;
        }

        public Criteria andSIdCardEqualTo(String value) {
            addCriterion("s_ID_Card =", value, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardNotEqualTo(String value) {
            addCriterion("s_ID_Card <>", value, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardGreaterThan(String value) {
            addCriterion("s_ID_Card >", value, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardGreaterThanOrEqualTo(String value) {
            addCriterion("s_ID_Card >=", value, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardLessThan(String value) {
            addCriterion("s_ID_Card <", value, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardLessThanOrEqualTo(String value) {
            addCriterion("s_ID_Card <=", value, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardLike(String value) {
            addCriterion("s_ID_Card like", value, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardNotLike(String value) {
            addCriterion("s_ID_Card not like", value, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardIn(List<String> values) {
            addCriterion("s_ID_Card in", values, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardNotIn(List<String> values) {
            addCriterion("s_ID_Card not in", values, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardBetween(String value1, String value2) {
            addCriterion("s_ID_Card between", value1, value2, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSIdCardNotBetween(String value1, String value2) {
            addCriterion("s_ID_Card not between", value1, value2, "sIdCard");
            return (Criteria) this;
        }

        public Criteria andSPositionIsNull() {
            addCriterion("s_position is null");
            return (Criteria) this;
        }

        public Criteria andSPositionIsNotNull() {
            addCriterion("s_position is not null");
            return (Criteria) this;
        }

        public Criteria andSPositionEqualTo(String value) {
            addCriterion("s_position =", value, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionNotEqualTo(String value) {
            addCriterion("s_position <>", value, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionGreaterThan(String value) {
            addCriterion("s_position >", value, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionGreaterThanOrEqualTo(String value) {
            addCriterion("s_position >=", value, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionLessThan(String value) {
            addCriterion("s_position <", value, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionLessThanOrEqualTo(String value) {
            addCriterion("s_position <=", value, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionLike(String value) {
            addCriterion("s_position like", value, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionNotLike(String value) {
            addCriterion("s_position not like", value, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionIn(List<String> values) {
            addCriterion("s_position in", values, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionNotIn(List<String> values) {
            addCriterion("s_position not in", values, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionBetween(String value1, String value2) {
            addCriterion("s_position between", value1, value2, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSPositionNotBetween(String value1, String value2) {
            addCriterion("s_position not between", value1, value2, "sPosition");
            return (Criteria) this;
        }

        public Criteria andSAddressIsNull() {
            addCriterion("s_address is null");
            return (Criteria) this;
        }

        public Criteria andSAddressIsNotNull() {
            addCriterion("s_address is not null");
            return (Criteria) this;
        }

        public Criteria andSAddressEqualTo(String value) {
            addCriterion("s_address =", value, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressNotEqualTo(String value) {
            addCriterion("s_address <>", value, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressGreaterThan(String value) {
            addCriterion("s_address >", value, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressGreaterThanOrEqualTo(String value) {
            addCriterion("s_address >=", value, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressLessThan(String value) {
            addCriterion("s_address <", value, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressLessThanOrEqualTo(String value) {
            addCriterion("s_address <=", value, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressLike(String value) {
            addCriterion("s_address like", value, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressNotLike(String value) {
            addCriterion("s_address not like", value, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressIn(List<String> values) {
            addCriterion("s_address in", values, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressNotIn(List<String> values) {
            addCriterion("s_address not in", values, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressBetween(String value1, String value2) {
            addCriterion("s_address between", value1, value2, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSAddressNotBetween(String value1, String value2) {
            addCriterion("s_address not between", value1, value2, "sAddress");
            return (Criteria) this;
        }

        public Criteria andSDepartmentIsNull() {
            addCriterion("s_department is null");
            return (Criteria) this;
        }

        public Criteria andSDepartmentIsNotNull() {
            addCriterion("s_department is not null");
            return (Criteria) this;
        }

        public Criteria andSDepartmentEqualTo(String value) {
            addCriterion("s_department =", value, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentNotEqualTo(String value) {
            addCriterion("s_department <>", value, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentGreaterThan(String value) {
            addCriterion("s_department >", value, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion("s_department >=", value, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentLessThan(String value) {
            addCriterion("s_department <", value, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentLessThanOrEqualTo(String value) {
            addCriterion("s_department <=", value, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentLike(String value) {
            addCriterion("s_department like", value, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentNotLike(String value) {
            addCriterion("s_department not like", value, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentIn(List<String> values) {
            addCriterion("s_department in", values, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentNotIn(List<String> values) {
            addCriterion("s_department not in", values, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentBetween(String value1, String value2) {
            addCriterion("s_department between", value1, value2, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSDepartmentNotBetween(String value1, String value2) {
            addCriterion("s_department not between", value1, value2, "sDepartment");
            return (Criteria) this;
        }

        public Criteria andSEntryDateIsNull() {
            addCriterion("s_entry_date is null");
            return (Criteria) this;
        }

        public Criteria andSEntryDateIsNotNull() {
            addCriterion("s_entry_date is not null");
            return (Criteria) this;
        }

        public Criteria andSEntryDateEqualTo(Date value) {
            addCriterionForJDBCDate("s_entry_date =", value, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("s_entry_date <>", value, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateGreaterThan(Date value) {
            addCriterionForJDBCDate("s_entry_date >", value, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("s_entry_date >=", value, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateLessThan(Date value) {
            addCriterionForJDBCDate("s_entry_date <", value, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("s_entry_date <=", value, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateIn(List<Date> values) {
            addCriterionForJDBCDate("s_entry_date in", values, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("s_entry_date not in", values, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("s_entry_date between", value1, value2, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSEntryDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("s_entry_date not between", value1, value2, "sEntryDate");
            return (Criteria) this;
        }

        public Criteria andSSalaryIsNull() {
            addCriterion("s_salary is null");
            return (Criteria) this;
        }

        public Criteria andSSalaryIsNotNull() {
            addCriterion("s_salary is not null");
            return (Criteria) this;
        }

        public Criteria andSSalaryEqualTo(BigDecimal value) {
            addCriterion("s_salary =", value, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryNotEqualTo(BigDecimal value) {
            addCriterion("s_salary <>", value, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryGreaterThan(BigDecimal value) {
            addCriterion("s_salary >", value, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("s_salary >=", value, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryLessThan(BigDecimal value) {
            addCriterion("s_salary <", value, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryLessThanOrEqualTo(BigDecimal value) {
            addCriterion("s_salary <=", value, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryIn(List<BigDecimal> values) {
            addCriterion("s_salary in", values, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryNotIn(List<BigDecimal> values) {
            addCriterion("s_salary not in", values, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("s_salary between", value1, value2, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSSalaryNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("s_salary not between", value1, value2, "sSalary");
            return (Criteria) this;
        }

        public Criteria andSStatusIsNull() {
            addCriterion("s_status is null");
            return (Criteria) this;
        }

        public Criteria andSStatusIsNotNull() {
            addCriterion("s_status is not null");
            return (Criteria) this;
        }

        public Criteria andSStatusEqualTo(Byte value) {
            addCriterion("s_status =", value, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusNotEqualTo(Byte value) {
            addCriterion("s_status <>", value, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusGreaterThan(Byte value) {
            addCriterion("s_status >", value, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("s_status >=", value, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusLessThan(Byte value) {
            addCriterion("s_status <", value, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusLessThanOrEqualTo(Byte value) {
            addCriterion("s_status <=", value, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusIn(List<Byte> values) {
            addCriterion("s_status in", values, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusNotIn(List<Byte> values) {
            addCriterion("s_status not in", values, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusBetween(Byte value1, Byte value2) {
            addCriterion("s_status between", value1, value2, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("s_status not between", value1, value2, "sStatus");
            return (Criteria) this;
        }

        public Criteria andSNotesIsNull() {
            addCriterion("s_notes is null");
            return (Criteria) this;
        }

        public Criteria andSNotesIsNotNull() {
            addCriterion("s_notes is not null");
            return (Criteria) this;
        }

        public Criteria andSNotesEqualTo(String value) {
            addCriterion("s_notes =", value, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesNotEqualTo(String value) {
            addCriterion("s_notes <>", value, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesGreaterThan(String value) {
            addCriterion("s_notes >", value, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesGreaterThanOrEqualTo(String value) {
            addCriterion("s_notes >=", value, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesLessThan(String value) {
            addCriterion("s_notes <", value, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesLessThanOrEqualTo(String value) {
            addCriterion("s_notes <=", value, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesLike(String value) {
            addCriterion("s_notes like", value, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesNotLike(String value) {
            addCriterion("s_notes not like", value, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesIn(List<String> values) {
            addCriterion("s_notes in", values, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesNotIn(List<String> values) {
            addCriterion("s_notes not in", values, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesBetween(String value1, String value2) {
            addCriterion("s_notes between", value1, value2, "sNotes");
            return (Criteria) this;
        }

        public Criteria andSNotesNotBetween(String value1, String value2) {
            addCriterion("s_notes not between", value1, value2, "sNotes");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}